Data communication networks have become a critical part of the global communications infrastructure. The reliability of routing devices used to connect separate networks has also become very important. Some of the existing routing devices address the reliability issue by using redundant routing processes. Typically, an active process performs the specified routing operations while a redundant process stands by. In the event that the active process fails, the redundant process takes over the duties of the active process. Due to the complex nature of routing protocols such as Border Gateway Protocol (BGP), many existing solutions tend to be complicated and expensive to implement. For example, one important aspect of redundancy is data synchronization. Attempts to directly synchronize routing data between the active and the redundant processes often require extensive modifications to the protocol implementation. Imperfect data synchronization may cause service disruption when activity switch occurs.
It would be desirable to have a way to provide redundancy in routing devices that would reduce service disruption during activity switch. It would also be useful if redundancy can be implemented more simply, without requiring significant changes to the implementation of routing protocols.